空间关系 Sample详情
最后更新时间:2020年12月11日
空间关系是对空间要素的拓扑关系的判断,包括相邻、相交、相离等基本的拓扑关系。空间关系是GIS空间查询、分析等应用的基础。
针对几何要素的空间关系分析计算,主要通过API程序包com.zondy.mapgis.geometry下的GeometryOperator类接口实现:
接口 | 说明 |
---|---|
GeometryOperator.equals() | 相同 |
GeometryOperator.crosses() | 穿越相交 |
GeometryOperator.contains() | 包含 |
GeometryOperator.covers() | 覆盖 |
GeometryOperator.coveredBy() | 被覆盖 |
GeometryOperator.disjoint() | 相离 |
GeometryOperator.intersects() | 相交 |
GeometryOperator.touches() | 相接 |
GeometryOperator.difference() | 求差 |
GeometryOperator.intersection() | 求交 |
GeometryOperator.symDifference() | 求对称差 |
GeometryOperator.union() | 求并 |
GeometryOperator.within() | 点在区内 |
具体实现方法如下:
1
在进行空间关系运算之前,首先需要准备进行计算的空间几何对象Geometry,获取方法可参考缓冲分析。然后调用对应的接口即可实现。
2
空间关系计算相关接口是由API程序包为com.zondy.mapgis.geometry中空间几何操作类GeometryOperator类提供的。
GeometryOperator geometryOperator = new GeometryOperator();
3
调用对应接口实现各种空间关系判别。
GeometryOperator.contains(currentGeometry1, currentGeometry2, mTolerance);
GeometryOperator.crosses(currentGeometry1, currentGeometry2, mTolerance);
GeometryOperator.disjoint(currentGeometry1, currentGeometry2, mTolerance);
GeometryOperator.equals(currentGeometry1, currentGeometry2, mTolerance);
GeometryOperator.overlaps(currentGeometry1, currentGeometry2, mTolerance);
GeometryOperator.touches(currentGeometry1, currentGeometry2, mTolerance);
GeometryOperator.within(currentGeometry1, currentGeometry2, mTolerance);
其他空间关系运算接口请参考com.zondy.mapgis.geometry.GeometryOperator类,可根据实际需求选择接口实现。
示例效果如下所示: